1.18 Ein zweites Gruppenfeld
 
Neben dem Gruppenfeld für die Getränkesorten wird ein zweites Gruppenfeld installiert, in welchem sich mehrere Radiobuttons befinden. Mit ihrer Hilfe kann der Benutzer die Bechergröße bestimmen. Ich nenne die Buttons »optJumbo«, »optGroß«, »optMittel« und »optKlein«. Sie werden entsprechend ihrer Namen beschriftet und einer erhält bei der Eigenschaft »Checked« den Wert »True«.
Abbildung 1.32
Ein Gruppenfeld mit Größe
Nun kann auch dieses abgefragt werden. Allerdings möchte ich es auf eine andere Weise tun. Klickt der Benutzer auf eine Bechergröße, so wird der Variablen strGröße der Wert der Variablen übergeben. Mit einem Doppelklick auf den ersten Radiobutton lande ich im Code-Editor zwischen den Zeilen
Private Sub optJumbo_CheckedChanged(ByVal sender As System.Object, ByVal e
As System.EventArgs)
Handles optJumbo.CheckedChanged
End Sub
Dazwischen wird eingegeben
strGröße = " einen Liter "
Das Gleiche kann man für die drei anderen Größen eingeben:
strGröße = " einen halben Liter "
strGröße = " 0,2 Liter "
strGröße = " 0,1 Liter "
Abbildung 1.33
Die Variable wird dieses Mal anders gefüllt.
Dann stellt sich noch die Frage, wo diese Variable deklariert wird. Sie muss für jede der Prozeduren gelten. Man könnte sie daher in jeder Prozedur deklarieren. Doch halt: Wenn die Variable strGröße auch für die Ok-Schaltfläche deklariert wird, dann wird sie dort erneut gefüllt, das heißt vorher geleert. Das darf nicht sein. Der Code soll sich die Werte von jeder Prozedur »merken«. Deshalb wird die Variable global für das Formular deklariert. Das geschieht am Anfang der Prozedur. Der gesamte Code des Formulars ist »eingespannt« zwischen die beiden Zeilen
Public Class frmKaffee
End Class
Damit wir mit dem Formular arbeiten können, wird es eingebunden:
Inherits System.Windows.Forms.Form
und danach wird deklariert:
Dim strGröße As String
Abbildung 1.34
Hier wird die Variable korrekt deklariert.
Die Ausgabe heißt nun:
MessageBox.Show("Achtung: " & txtName.Text & _
"Jetzt gibt es" & strGröße & strGetränk & "!")
Testen Sie bitte das Beispiel gut. Fällt Ihnen etwas auf? Eine Sache ist prima, aber auch erstaunlich. Wenn der Benutzer nichts auswählt, das heißt, wenn der Button auf der Voreinstellung bleibt, dann dürfte doch eigentlich die Variable strGröße nicht gefüllt werden. Auslösendes Ereignis ist jedoch ein Mausklick auf einen Radiobutton.
|